Распределенные базы данных
Первоначальные ИС, основанные на базах данных, имели строго централизованную архитектуру. Данные были сосредоточены физически и логически на одном компьютере. Централизованная организация базы данных позволяет облегчить обеспечение ее безопасности, целостности и непротиворечивости данных.
Вместе с тем рост объема базы данных и числа пользователей, получающих к ней доступ, территориальное развитие организации (и снизанная с ней необходимость распределенной обработки данных) приводят к возникновению ряда проблем, свойственных централизованной архитектуре [14]:
¦ большой объем обмена данными (высокий трафик);
¦ снижение надежности обмена данными;
¦ снижение общей производительности;
¦ рост затрат на разработку БД.
ВОЗМОЖНЫМ решением перечисленных проблем является организация децентрализованного хранения данных. При децентрализации достигается [14]:
¦ параллельная обработка данных и распределение нагрузки;
¦ повышение эффективности обработки данных при выполнении удаленных запросов;
¦ уменьшение затрат на обработку данных;
¦ упрощение процедуры управления ИС.
Распределенная база данных— это набор отношений, хранящихся в разных узлах компьютерной сети и логически связанных таким образом, чтобы составлять единую совокупность данных [14, 33].
Распределенная база данных предполагает хранение данных на нескольких узлах сети, обработку данных и их передачу между этими
148
узлами в процессе выполнения запросов. Разбиение данных в распределенной базе данных может достигаться путем хранения различных таблиц на разных компьютерах или хранения разных фрагментов одной таблицы на разных компьютерах. Для пользователя (или прикладной программы) не должно иметь значения, каким образом распределены Данные между компьютерами. Работа с распределенной базой данных должна осуществляться так же, как и с централизованной.
Впервые задача об исследовании основ и принципов создания и функционирования распределенных информационных систем была поставлена известным специалистом в области баз данных К. Дейтом.
В основе распределенных ИС лежат две основные идеи [14]:
¦ работа множества пользователей с общей БД;
¦ объединение распределенных данных на логическом и физическом уровнях в общей БД.
Перечислим основные принципы создания и функционирования распределенных БД [14):
¦ Прозрачность размещения данных для пользователя (пользователю распределенная БД должна представляться точно, так как и нераспределенная);
¦ изолированность пользователей друг от друга (на работу одного пользователя с БД не должна влиять работа других пользователей с ней);
¦ синхронизация БД и непротиворечивость состояния данных в любой момент времени.
Дадим более подробный перечень принципов распределенной БД, сформулированных К. Дейтом [33].
1. Локальная автономия. Это качество означает, что управление данными на каждом из узлов распределенной системы выполняется локально. База данных, расположенная па одном из узлов, является неотъемлемым компонентом распределенной системы. Будучи фрагментом общего пространства данных, она в то же время функционирует как полноценная локальная база данных, а управление ею осуществляется локально, независимо от других узлов системы.
2. Независимость узлов. Все узлы равноправны и независимы,
а расположенные на них БД являются равноправными поставщиками данных в общее пространство данных. База данных на каждом из узлов самодостаточна — она включает полный собствен-
149
ный словарь данных и полностью защищена от несанкционированного доступа.
3. Непрерывность операций. Это возможность непрерывного доступа к данным в рамках распределенной БД вне зависимости от их расположения и вне зависимости от операций, выполняемых на локальных узлах.
4. Прозрачность расположения. Пользователь, обращающийся к БД, ничего не должен знать о реальном, физическом размещении данных в узлах информационной системы.
5. Прозрачная фрагментация. Возможность распределенного (т. е. на различных узлах) размещения данных, логически представляющих собой единое целое. Существует фрагментация двух типов: горизонтальная и вертикальная. Первая означает, что строки таблицы хранятся на различных узлах. Вторая означает распределение столбцов логической таблицы по нескольким узлам.
6. Прозрачное тиражирование. Тиражирование данных - это асинхронный процесс переноса изменений объектов исходно!! базы данных в базы, расположенные на других узлах распределенной системы.
7. Обработка распределенных запросов. Возможность выполнения операций выборки данных из распределенной БД, посредством запросов, сформулированных на языке SQL.
8. Обработка распределенных транзакций. Возможность выполнения операций обновления распределенной базы данных, не нарушающих целостность и согласованность данных. Эта цель достигается применением двухфазного протокола фиксации транзакций.
9. Независимость от оборудования. Это свойство означает, что в качестве узлов распределенной системы могут выступать компьютеры любых моделей и производителей.
10. Независимость от операционных систем. Это качество вытекает из предыдущего и означает многообразие операционных систем, управляющих узлами распределенной системы.
11. Прозрачность сети. Доступ к любым базам данных осуществляется по сети. Спектр поддерживаемых конкретной СУБД сетевых протоколов не должен быть ограничением системы, основанной на распределенной БД.
12. Независимость от СУБД. Это качество означает, что в распределенной системе могут работать СУБД различных производите-
150
лей, и возможны операции поиска и обновления в базах данных различных моделей и форматов.
Важнейшую роль в технологии создания и функционирования распределенных баз данных играет технология «представлений».
Представлением называется сохраняемый в базе данных авторизованный глобальный запрос на выборку данных. Авторизованность означает возможность запуска такого запроса только конкретно поименованным в системе пользователем. Глобальность заключается в том, что выборка данных может осуществляться из всей базы данных, в том числе из данных, расположенных на других узлах сети [14].
Результатом глобальных авторизованных запросов является создание для конкретного пользователя виртуальной БД СО своим перечнем таблиц, связей.
Похожие рефераты: